public class code3 {
//    力扣 top150 轮转数组
public void rotate(int[] nums, int k) {

    // 轮转数组，可以通过 整体 + 局部 分为三步走的形式进行数组反转轮换
    int len = nums.length - 1;

    k = k % (len + 1);
    // 首先将一整个数组先进行一下反转
    swap(nums, 0, len);
    // 之后将轮转到前面的 k 段长度的值进行反转
    swap(nums, 0, k-1);
    // 之后将后半部分进行一下反转
    swap(nums, k, len);

}
    public void swap(int[] nums, int start, int end) {
        while(start < end) {
            int temp = nums[start];
            nums[start] = nums[end];
            nums[end] = temp;
            start++;
            end--;
        }
    }
}
